{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 时间事件日志\n",
    "\n",
    "个人时间统计工具。要点：\n",
    "\n",
    "* 使用 dida365.com 来作为 GTD 工具\n",
    "* 使用特殊格式记录事件类别和花费的时间，如： “*[探索发现] 体验 iMac 开发环境 [3h]*”\n",
    "* 导出数据\n",
    "* 分析数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 读取数据\n",
    "\n",
    "分析并读取数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from matplotlib.font_manager import FontManager\n",
    "import subprocess    \n",
    "\n",
    "def get_support_chinese_font():\n",
    "    fm = FontManager()\n",
    "    mat_fonts = set(f.name for f in fm.ttflist)\n",
    "\n",
    "    output = subprocess.check_output('fc-list :lang=zh -f \"%{family}\\n\"', shell=True)\n",
    "    print '*' * 10, '系统可用的中文字体', '*' * 10\n",
    "    print output\n",
    "    zh_fonts = set(f.split(',', 1)[0] for f in output.split('\\n'))\n",
    "    available = mat_fonts & zh_fonts\n",
    "\n",
    "    print '*' * 10, '可用的中文字体', '*' * 10\n",
    "    for f in available:\n",
    "        print f\n",
    "    return available"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from matplotlib.pylab import mpl\n",
    "\n",
    "mpl.rcParams['font.sans-serif'] = ['Arial Unicode MS'] # 指定默认字体\n",
    "mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>List Name</th>\n",
       "      <th>Title</th>\n",
       "      <th>Content</th>\n",
       "      <th>Is Checklist</th>\n",
       "      <th>Reminder</th>\n",
       "      <th>Repeat</th>\n",
       "      <th>Priority</th>\n",
       "      <th>Status</th>\n",
       "      <th>Completed Time</th>\n",
       "      <th>Order</th>\n",
       "      <th>Timezone</th>\n",
       "      <th>Is All Day</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [1h]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-05-25T14:15:10+0000</td>\n",
       "      <td>-235295488344064</td>\n",
       "      <td>Asia/Shanghai</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-05-24T15:59:08+0000</td>\n",
       "      <td>-234195976716288</td>\n",
       "      <td>Asia/Shanghai</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring request [2h]</td>\n",
       "      <td>阅读 ring.util.request 源码\\r</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-05-24T15:58:56+0000</td>\n",
       "      <td>-233096465088512</td>\n",
       "      <td>Asia/Shanghai</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring 入门 [30m]</td>\n",
       "      <td>NaN</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-05-23T15:03:24+0000</td>\n",
       "      <td>-231996953460736</td>\n",
       "      <td>Asia/Shanghai</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[探索发现] 体验 iMac 开发环境 [3h]</td>\n",
       "      <td>iMac 的屏幕体验很棒，但使用非SSD硬盘速度上和mpb想着非常多。\\r</td>\n",
       "      <td>N</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>2016-05-23T14:33:35+0000</td>\n",
       "      <td>-230897441832960</td>\n",
       "      <td>Asia/Shanghai</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           List Name                            Title  \\\n",
       "Due Date                                                \n",
       "2016-05-24      自我成长    [编程] javascript exercism [1h]   \n",
       "2016-05-23      自我成长  [编程] javascript exercism [0.5h]   \n",
       "2016-05-23      自我成长   [编程] clojure ring request [2h]   \n",
       "2016-05-22      自我成长       [编程] clojure ring 入门 [30m]   \n",
       "2016-05-22      自我成长         [探索发现] 体验 iMac 开发环境 [3h]   \n",
       "\n",
       "                                          Content Is Checklist  Reminder  \\\n",
       "Due Date                                                                   \n",
       "2016-05-24                                    NaN            N       NaN   \n",
       "2016-05-23                                    NaN            N       NaN   \n",
       "2016-05-23              阅读 ring.util.request 源码\\r            N       NaN   \n",
       "2016-05-22                                    NaN            N       NaN   \n",
       "2016-05-22  iMac 的屏幕体验很棒，但使用非SSD硬盘速度上和mpb想着非常多。\\r            N       NaN   \n",
       "\n",
       "            Repeat  Priority  Status            Completed Time  \\\n",
       "Due Date                                                         \n",
       "2016-05-24     NaN         0       2  2016-05-25T14:15:10+0000   \n",
       "2016-05-23     NaN         0       2  2016-05-24T15:59:08+0000   \n",
       "2016-05-23     NaN         0       2  2016-05-24T15:58:56+0000   \n",
       "2016-05-22     NaN         0       2  2016-05-23T15:03:24+0000   \n",
       "2016-05-22     NaN         0       2  2016-05-23T14:33:35+0000   \n",
       "\n",
       "                      Order       Timezone Is All Day  \n",
       "Due Date                                               \n",
       "2016-05-24 -235295488344064  Asia/Shanghai       True  \n",
       "2016-05-23 -234195976716288  Asia/Shanghai       True  \n",
       "2016-05-23 -233096465088512  Asia/Shanghai       True  \n",
       "2016-05-22 -231996953460736  Asia/Shanghai       True  \n",
       "2016-05-22 -230897441832960  Asia/Shanghai       True  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def _date_parser(dstr):\n",
    "    return pd.Timestamp(dstr).date()\n",
    "\n",
    "data = pd.read_csv('data/dida365.csv', header=3, index_col='Due Date', parse_dates=True, date_parser=_date_parser)\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据清洗\n",
    "\n",
    "* 只关心己完成或己达成的事件，即 `status != 0` 的事件\n",
    "* 只需要 `List Name` 和 `Title` 字段"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>List Name</th>\n",
       "      <th>Title</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [1h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring request [2h]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring 入门 [30m]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[探索发现] 体验 iMac 开发环境 [3h]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           List Name                            Title\n",
       "Due Date                                             \n",
       "2016-05-24      自我成长    [编程] javascript exercism [1h]\n",
       "2016-05-23      自我成长  [编程] javascript exercism [0.5h]\n",
       "2016-05-23      自我成长   [编程] clojure ring request [2h]\n",
       "2016-05-22      自我成长       [编程] clojure ring 入门 [30m]\n",
       "2016-05-22      自我成长         [探索发现] 体验 iMac 开发环境 [3h]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = data[data['Status'] != 0].loc[:, ['List Name', 'Title']]\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据解析\n",
    "\n",
    "解析事件类别和和花费的时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>List Name</th>\n",
       "      <th>Title</th>\n",
       "      <th>Tag</th>\n",
       "      <th>Duration</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [1h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring request [2h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring 入门 [30m]</td>\n",
       "      <td>编程</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[探索发现] 体验 iMac 开发环境 [3h]</td>\n",
       "      <td>探索发现</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           List Name                            Title   Tag  Duration\n",
       "Due Date                                                             \n",
       "2016-05-24      自我成长    [编程] javascript exercism [1h]    编程       1.0\n",
       "2016-05-23      自我成长  [编程] javascript exercism [0.5h]    编程       0.5\n",
       "2016-05-23      自我成长   [编程] clojure ring request [2h]    编程       2.0\n",
       "2016-05-22      自我成长       [编程] clojure ring 入门 [30m]    编程       0.5\n",
       "2016-05-22      自我成长         [探索发现] 体验 iMac 开发环境 [3h]  探索发现       3.0"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import re\n",
    "\n",
    "def parse_tag(value):\n",
    "    m = re.match(r'^(\\[(.*?)\\])?.*$', value)\n",
    "    if m and m.group(2):\n",
    "        return m.group(2)\n",
    "    else:\n",
    "        return '其他'\n",
    "\n",
    "def parse_duration(value):\n",
    "    m = re.match(r'^.+?\\[(.*?)([hm]?)\\]$', value)\n",
    "    if m:\n",
    "        dur = 0\n",
    "        try:\n",
    "            dur = float(m.group(1))\n",
    "        except e:\n",
    "            print('parse duration error: \\n%s' % e)\n",
    "        if m.group(2) == 'm':\n",
    "            dur = dur / 60.0\n",
    "        return dur\n",
    "    else:\n",
    "        return 0\n",
    "    \n",
    "titles = df['Title']\n",
    "df['Tag'] = titles.map(parse_tag)\n",
    "df['Duration'] = titles.map(parse_duration)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "List Name    232\n",
       "Title        232\n",
       "Tag          232\n",
       "Duration     232\n",
       "dtype: int64"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime.date(2015, 12, 2)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "start_date = df.index.min().date()\n",
    "start_date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime.date(2016, 5, 24)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "end_date = df.index.max().date()\n",
    "end_date"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据分析\n",
    "\n",
    "#### 时间总览\n",
    "\n",
    "平均每天投资在自己身上的时间是多少？-> *全部时间 / 总天数*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime.timedelta(174)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "end_date - start_date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "482.19999999999999"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['Duration'].sum() "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.7712643678160918"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['Duration'].sum() / (end_date - start_date).days"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 精力分配"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Duration</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Tag</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>写作</th>\n",
       "      <td>49.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>探索发现</th>\n",
       "      <td>54.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>33.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>电影</th>\n",
       "      <td>50.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>243.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>阅读</th>\n",
       "      <td>51.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      Duration\n",
       "Tag           \n",
       "写作        49.0\n",
       "探索发现      54.5\n",
       "机器学习      33.5\n",
       "电影        50.8\n",
       "编程       243.4\n",
       "阅读        51.0"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tag_list = df.groupby(['Tag']).sum()\n",
    "tag_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes.AxesSubplot at 0x10e5b4f10>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nalKTalSjOtU5IvphRzI2MXHjZitb2Vb8YW5gg28jGwOb2ezIJz87nXR3BhnLAwTm+/AtAn7F2gVn\nW4UHLVIJKNGKVKwsrCTcCDg+k8ymGWQ0NDDqhAnXChKsFiSYk0VWoApVAtWoZtaghiOHHEc22c4s\nspzZZKdlkmlkYn1kRD9MTMLRjwiR3V8XXQ8SpJDCUAEFgQIKwrvYFSmkEBcuhxdvug9fhhNnMJPM\n7U6cf5mY67x4V4YIrcYaR10DrAPctv30RCohJVqRxJMG1ABql7jkYnVTZwPZTpy56aRXceLMc+DI\nMzCygbCJGTQxQ0DQxAxFrwcjRIJhwr4Qoe1YVb350c8lvy5Ai0CIiIiIiIiIiIiIiIiIiIiIiIiI\niIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI\niIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiI\niIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiEhs\n/T/SyLDwsc8NVQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f075990>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "tag_list['Duration'].plot(kind='pie', figsize=(8, 8), fontsize=16, autopct='%1.2f%%')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 专注力\n",
    "\n",
    "长时间学习某项技能的能力"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>List Name</th>\n",
       "      <th>Title</th>\n",
       "      <th>Tag</th>\n",
       "      <th>Duration</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [1h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring request [2h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] clojure ring 入门 [30m]</td>\n",
       "      <td>编程</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>自我成长</td>\n",
       "      <td>[编程] javascript exercism [0.5h]</td>\n",
       "      <td>编程</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           List Name                            Title Tag  Duration\n",
       "Due Date                                                           \n",
       "2016-05-24      自我成长    [编程] javascript exercism [1h]  编程       1.0\n",
       "2016-05-23      自我成长  [编程] javascript exercism [0.5h]  编程       0.5\n",
       "2016-05-23      自我成长   [编程] clojure ring request [2h]  编程       2.0\n",
       "2016-05-22      自我成长       [编程] clojure ring 入门 [30m]  编程       0.5\n",
       "2016-05-22      自我成长  [编程] javascript exercism [0.5h]  编程       0.5"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "programming = df[df['Tag'] == '编程']\n",
    "programming.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes.AxesSubplot at 0x111352d50>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nkiRJkrR5/x+AY6xABQwEzQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10f007d90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "programming.resample('m', how='sum').to_period(freq='m').plot(kind='bar', figsize=(8, 8), fontsize=16)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 连续时间的精力分配\n",
    "\n",
    "以时间为横轴，查看精力分配。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>Duration</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th>Tag</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-12-02</th>\n",
       "      <th>写作</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-04</th>\n",
       "      <th>阅读</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-06</th>\n",
       "      <th>写作</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-07</th>\n",
       "      <th>写作</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-08</th>\n",
       "      <th>机器学习</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-09</th>\n",
       "      <th>写作</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-10</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>5.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">2015-12-11</th>\n",
       "      <th>写作</th>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>阅读</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-12</th>\n",
       "      <th>写作</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-13</th>\n",
       "      <th>编程</th>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-14</th>\n",
       "      <th>阅读</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-15</th>\n",
       "      <th>机器学习</th>\n",
       "      <td>2.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>阅读</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"4\" valign=\"top\">2015-12-16</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>阅读</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-17</th>\n",
       "      <th>机器学习</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"3\" valign=\"top\">2015-12-18</th>\n",
       "      <th>写作</th>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>机器学习</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2015-12-19</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>阅读</th>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-20</th>\n",
       "      <th>写作</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-24</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-25</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-26</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-29</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-30</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-01</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-02</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-03</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-04</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-05</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-06</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-07</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-08</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-09</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-10</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-11</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-12</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-05-13</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-05-14</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-15</th>\n",
       "      <th>编程</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-17</th>\n",
       "      <th>编程</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-18</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-19</th>\n",
       "      <th>编程</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-20</th>\n",
       "      <th>编程</th>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">2016-05-22</th>\n",
       "      <th>探索发现</th>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>编程</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <th>编程</th>\n",
       "      <td>2.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <th>编程</th>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>187 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                 Duration\n",
       "Due Date   Tag           \n",
       "2015-12-02 写作         3.0\n",
       "2015-12-04 阅读         3.0\n",
       "2015-12-06 写作         4.0\n",
       "           机器学习       3.0\n",
       "2015-12-07 写作         1.0\n",
       "2015-12-08 机器学习       1.0\n",
       "           编程         4.0\n",
       "2015-12-09 写作         4.0\n",
       "2015-12-10 探索发现       0.5\n",
       "           编程         5.5\n",
       "2015-12-11 写作         1.5\n",
       "           编程         4.0\n",
       "           阅读         4.0\n",
       "2015-12-12 写作         2.0\n",
       "           机器学习       1.5\n",
       "2015-12-13 编程         6.0\n",
       "2015-12-14 阅读         1.0\n",
       "2015-12-15 机器学习       2.5\n",
       "           阅读         1.0\n",
       "2015-12-16 探索发现       1.0\n",
       "           机器学习       1.5\n",
       "           编程         3.0\n",
       "           阅读         1.0\n",
       "2015-12-17 机器学习       2.0\n",
       "2015-12-18 写作         1.5\n",
       "           机器学习       1.0\n",
       "           编程         3.0\n",
       "2015-12-19 探索发现       7.0\n",
       "           阅读         0.5\n",
       "2015-12-20 写作         1.0\n",
       "...                   ...\n",
       "2016-04-24 编程         3.5\n",
       "2016-04-25 编程         3.0\n",
       "2016-04-26 编程         3.0\n",
       "2016-04-29 编程         2.0\n",
       "2016-04-30 编程         2.0\n",
       "2016-05-01 编程         3.0\n",
       "2016-05-02 编程         2.0\n",
       "2016-05-03 编程         2.0\n",
       "2016-05-04 编程         3.0\n",
       "2016-05-05 编程         4.0\n",
       "2016-05-06 编程         4.0\n",
       "2016-05-07 编程         4.0\n",
       "2016-05-08 编程         4.0\n",
       "2016-05-09 编程         4.0\n",
       "2016-05-10 编程         4.0\n",
       "2016-05-11 编程         2.0\n",
       "2016-05-12 编程         3.0\n",
       "2016-05-13 探索发现       1.0\n",
       "           编程         3.0\n",
       "2016-05-14 探索发现       1.0\n",
       "           编程         5.0\n",
       "2016-05-15 编程         1.0\n",
       "2016-05-17 编程         3.0\n",
       "2016-05-18 编程         2.0\n",
       "2016-05-19 编程         1.0\n",
       "2016-05-20 编程         4.0\n",
       "2016-05-22 探索发现       3.0\n",
       "           编程         1.0\n",
       "2016-05-23 编程         2.5\n",
       "2016-05-24 编程         1.0\n",
       "\n",
       "[187 rows x 1 columns]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 为什么不直接使用 df.pivot()? 因为有重复的行索引，如 2016-05-23\n",
    "date_tags = df.reset_index().groupby(['Due Date', 'Tag']).sum()\n",
    "date_tags"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Tag</th>\n",
       "      <th>写作</th>\n",
       "      <th>探索发现</th>\n",
       "      <th>机器学习</th>\n",
       "      <th>电影</th>\n",
       "      <th>编程</th>\n",
       "      <th>阅读</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Due Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-12-02</th>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-04</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-06</th>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-07</th>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-08</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-09</th>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-11</th>\n",
       "      <td>1.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-12</th>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-13</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-14</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-15</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-16</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-17</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-18</th>\n",
       "      <td>1.5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-19</th>\n",
       "      <td>NaN</td>\n",
       "      <td>7.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-20</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-21</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-22</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>8.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-23</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-24</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-25</th>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-26</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-29</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-30</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-01</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-02</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-03</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-04</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-05</th>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-21</th>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-22</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>6.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-23</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-24</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-25</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-26</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-29</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-30</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-01</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-02</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-03</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-04</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-05</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-06</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-07</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-08</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-09</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-10</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-11</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-12</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-13</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-14</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-15</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-17</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-18</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-19</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-20</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>NaN</td>\n",
       "      <td>3.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2.5</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>133 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "Tag          写作  探索发现  机器学习  电影   编程   阅读\n",
       "Due Date                                 \n",
       "2015-12-02  3.0   NaN   NaN NaN  NaN  NaN\n",
       "2015-12-04  NaN   NaN   NaN NaN  NaN  3.0\n",
       "2015-12-06  4.0   NaN   3.0 NaN  NaN  NaN\n",
       "2015-12-07  1.0   NaN   NaN NaN  NaN  NaN\n",
       "2015-12-08  NaN   NaN   1.0 NaN  4.0  NaN\n",
       "2015-12-09  4.0   NaN   NaN NaN  NaN  NaN\n",
       "2015-12-10  NaN   0.5   NaN NaN  5.5  NaN\n",
       "2015-12-11  1.5   NaN   NaN NaN  4.0  4.0\n",
       "2015-12-12  2.0   NaN   1.5 NaN  NaN  NaN\n",
       "2015-12-13  NaN   NaN   NaN NaN  6.0  NaN\n",
       "2015-12-14  NaN   NaN   NaN NaN  NaN  1.0\n",
       "2015-12-15  NaN   NaN   2.5 NaN  NaN  1.0\n",
       "2015-12-16  NaN   1.0   1.5 NaN  3.0  1.0\n",
       "2015-12-17  NaN   NaN   2.0 NaN  NaN  NaN\n",
       "2015-12-18  1.5   NaN   1.0 NaN  3.0  NaN\n",
       "2015-12-19  NaN   7.0   NaN NaN  NaN  0.5\n",
       "2015-12-20  1.0   4.0   NaN NaN  NaN  NaN\n",
       "2015-12-21  NaN   NaN   NaN NaN  NaN  0.5\n",
       "2015-12-22  NaN   2.0   NaN NaN  8.0  NaN\n",
       "2015-12-23  NaN   1.0   NaN NaN  NaN  NaN\n",
       "2015-12-24  NaN   NaN   NaN NaN  NaN  0.5\n",
       "2015-12-25  2.0   NaN   NaN NaN  NaN  1.5\n",
       "2015-12-26  NaN   NaN   NaN NaN  2.0  1.0\n",
       "2015-12-29  NaN   NaN   NaN NaN  NaN  2.0\n",
       "2015-12-30  NaN   NaN   NaN NaN  NaN  1.0\n",
       "2016-01-01  NaN   NaN   NaN NaN  NaN  5.0\n",
       "2016-01-02  NaN   NaN   NaN NaN  2.0  2.0\n",
       "2016-01-03  NaN   NaN   NaN NaN  3.5  NaN\n",
       "2016-01-04  NaN   NaN   NaN NaN  6.5  NaN\n",
       "2016-01-05  2.0   2.0   NaN NaN  NaN  NaN\n",
       "...         ...   ...   ...  ..  ...  ...\n",
       "2016-04-21  NaN   2.0   NaN NaN  5.0  NaN\n",
       "2016-04-22  NaN   NaN   NaN NaN  6.0  2.0\n",
       "2016-04-23  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-04-24  NaN   NaN   NaN NaN  3.5  NaN\n",
       "2016-04-25  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-04-26  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-04-29  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-04-30  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-05-01  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-05-02  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-05-03  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-05-04  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-05-05  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-06  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-07  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-08  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-09  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-10  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-11  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-05-12  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-05-13  NaN   1.0   NaN NaN  3.0  NaN\n",
       "2016-05-14  NaN   1.0   NaN NaN  5.0  NaN\n",
       "2016-05-15  NaN   NaN   NaN NaN  1.0  NaN\n",
       "2016-05-17  NaN   NaN   NaN NaN  3.0  NaN\n",
       "2016-05-18  NaN   NaN   NaN NaN  2.0  NaN\n",
       "2016-05-19  NaN   NaN   NaN NaN  1.0  NaN\n",
       "2016-05-20  NaN   NaN   NaN NaN  4.0  NaN\n",
       "2016-05-22  NaN   3.0   NaN NaN  1.0  NaN\n",
       "2016-05-23  NaN   NaN   NaN NaN  2.5  NaN\n",
       "2016-05-24  NaN   NaN   NaN NaN  1.0  NaN\n",
       "\n",
       "[133 rows x 6 columns]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 以 tag 作为列索引\n",
    "dates = date_tags.reset_index().pivot(index='Due Date', columns='Tag', values='Duration')\n",
    "dates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Tag</th>\n",
       "      <th>写作</th>\n",
       "      <th>探索发现</th>\n",
       "      <th>机器学习</th>\n",
       "      <th>电影</th>\n",
       "      <th>编程</th>\n",
       "      <th>阅读</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2015-12-02</th>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-03</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-04</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-05</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-06</th>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-07</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-08</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-09</th>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-10</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.5</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-11</th>\n",
       "      <td>1.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-12</th>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-13</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-14</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-15</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.5</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-16</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.5</td>\n",
       "      <td>0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-17</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-18</th>\n",
       "      <td>1.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-19</th>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-20</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-21</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-22</th>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-23</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-24</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-25</th>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-26</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-27</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-28</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-29</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-30</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2015-12-31</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-25</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-26</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-27</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-28</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-29</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-30</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-01</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-02</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-03</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-04</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-05</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-06</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-07</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-08</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-09</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-10</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-11</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-12</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-13</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-14</th>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-15</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-16</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-17</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-18</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-19</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-20</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-21</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-22</th>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-23</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2.5</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-24</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>175 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "Tag          写作  探索发现  机器学习  电影   编程   阅读\n",
       "2015-12-02  3.0   0.0   0.0   0  0.0  0.0\n",
       "2015-12-03  0.0   0.0   0.0   0  0.0  0.0\n",
       "2015-12-04  0.0   0.0   0.0   0  0.0  3.0\n",
       "2015-12-05  0.0   0.0   0.0   0  0.0  0.0\n",
       "2015-12-06  4.0   0.0   3.0   0  0.0  0.0\n",
       "2015-12-07  1.0   0.0   0.0   0  0.0  0.0\n",
       "2015-12-08  0.0   0.0   1.0   0  4.0  0.0\n",
       "2015-12-09  4.0   0.0   0.0   0  0.0  0.0\n",
       "2015-12-10  0.0   0.5   0.0   0  5.5  0.0\n",
       "2015-12-11  1.5   0.0   0.0   0  4.0  4.0\n",
       "2015-12-12  2.0   0.0   1.5   0  0.0  0.0\n",
       "2015-12-13  0.0   0.0   0.0   0  6.0  0.0\n",
       "2015-12-14  0.0   0.0   0.0   0  0.0  1.0\n",
       "2015-12-15  0.0   0.0   2.5   0  0.0  1.0\n",
       "2015-12-16  0.0   1.0   1.5   0  3.0  1.0\n",
       "2015-12-17  0.0   0.0   2.0   0  0.0  0.0\n",
       "2015-12-18  1.5   0.0   1.0   0  3.0  0.0\n",
       "2015-12-19  0.0   7.0   0.0   0  0.0  0.5\n",
       "2015-12-20  1.0   4.0   0.0   0  0.0  0.0\n",
       "2015-12-21  0.0   0.0   0.0   0  0.0  0.5\n",
       "2015-12-22  0.0   2.0   0.0   0  8.0  0.0\n",
       "2015-12-23  0.0   1.0   0.0   0  0.0  0.0\n",
       "2015-12-24  0.0   0.0   0.0   0  0.0  0.5\n",
       "2015-12-25  2.0   0.0   0.0   0  0.0  1.5\n",
       "2015-12-26  0.0   0.0   0.0   0  2.0  1.0\n",
       "2015-12-27  0.0   0.0   0.0   0  0.0  0.0\n",
       "2015-12-28  0.0   0.0   0.0   0  0.0  0.0\n",
       "2015-12-29  0.0   0.0   0.0   0  0.0  2.0\n",
       "2015-12-30  0.0   0.0   0.0   0  0.0  1.0\n",
       "2015-12-31  0.0   0.0   0.0   0  0.0  0.0\n",
       "...         ...   ...   ...  ..  ...  ...\n",
       "2016-04-25  0.0   0.0   0.0   0  3.0  0.0\n",
       "2016-04-26  0.0   0.0   0.0   0  3.0  0.0\n",
       "2016-04-27  0.0   0.0   0.0   0  0.0  0.0\n",
       "2016-04-28  0.0   0.0   0.0   0  0.0  0.0\n",
       "2016-04-29  0.0   0.0   0.0   0  2.0  0.0\n",
       "2016-04-30  0.0   0.0   0.0   0  2.0  0.0\n",
       "2016-05-01  0.0   0.0   0.0   0  3.0  0.0\n",
       "2016-05-02  0.0   0.0   0.0   0  2.0  0.0\n",
       "2016-05-03  0.0   0.0   0.0   0  2.0  0.0\n",
       "2016-05-04  0.0   0.0   0.0   0  3.0  0.0\n",
       "2016-05-05  0.0   0.0   0.0   0  4.0  0.0\n",
       "2016-05-06  0.0   0.0   0.0   0  4.0  0.0\n",
       "2016-05-07  0.0   0.0   0.0   0  4.0  0.0\n",
       "2016-05-08  0.0   0.0   0.0   0  4.0  0.0\n",
       "2016-05-09  0.0   0.0   0.0   0  4.0  0.0\n",
       "2016-05-10  0.0   0.0   0.0   0  4.0  0.0\n",
       "2016-05-11  0.0   0.0   0.0   0  2.0  0.0\n",
       "2016-05-12  0.0   0.0   0.0   0  3.0  0.0\n",
       "2016-05-13  0.0   1.0   0.0   0  3.0  0.0\n",
       "2016-05-14  0.0   1.0   0.0   0  5.0  0.0\n",
       "2016-05-15  0.0   0.0   0.0   0  1.0  0.0\n",
       "2016-05-16  0.0   0.0   0.0   0  0.0  0.0\n",
       "2016-05-17  0.0   0.0   0.0   0  3.0  0.0\n",
       "2016-05-18  0.0   0.0   0.0   0  2.0  0.0\n",
       "2016-05-19  0.0   0.0   0.0   0  1.0  0.0\n",
       "2016-05-20  0.0   0.0   0.0   0  4.0  0.0\n",
       "2016-05-21  0.0   0.0   0.0   0  0.0  0.0\n",
       "2016-05-22  0.0   3.0   0.0   0  1.0  0.0\n",
       "2016-05-23  0.0   0.0   0.0   0  2.5  0.0\n",
       "2016-05-24  0.0   0.0   0.0   0  1.0  0.0\n",
       "\n",
       "[175 rows x 6 columns]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 补足连续时间，可以看到哪些天没有在学习\n",
    "full_dates = dates.reindex(pd.date_range(start_date, end_date)).fillna(0)\n",
    "full_dates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes.AxesSubplot at 0x112dffdd0>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5oAAAIyCAYAAACqzbW8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XucXHV9P/7XyS4EAhkyMZRwswQQodQGBbkWmi0WL4Bc\nRAUpFfCGgvqjX29gCguCVQEvLV/Bor9UxWIRsEqkBZFdLioaRRAREGuiIHJNhixIgGz2+8deTMhs\n2MvZnZ3N88ljHzP7ybm832fOzOyLM3NOAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBiByS5se/+\nXyXp7Pv5nySbN6YkAAAAmtWHk9yR5Ad9v9+Q5BV9909Kcn4jigIAAGDimvIC/35fkjckKfp+PzbJ\nbavN+9wY1QUAAMAktl2SHz5v7K+T/CLJFuNeDQAAABNa6wjmeUOS+Ulen+ThehPMnTu354477hhN\nXQAAAExcdyTZbbB/fKGPzj7f3yf5/5L8bZLfDLrGO+5IT09PzjzzzPT09Kz1U2+8GccmWj16afy6\n9dL4detFL802NtHqWR97mWj16KXx69aLXiby2ESpJ8ncdQXHoQbNnvR+T/NfkmyS5KokHUnahzg/\nAAAA64mhfHR2SZJ9++7PHLtSAAAAmAxaxmi57e3t7UmS7bbbru4E9cabcWyi1aOXxq9bL41ft14G\nH5to9eil8evWS+PXrZfBxyZaPXpp/Lr10vh194+dddZZSXJW3eLyp8uWlK2n73O7AAAATDJFUSTr\nyJMjOessAABAQ82cOTPLli1rdBmTXrVazdKlS4c9nyOaAABA0ymKIjLH2BtsO7/QEc3hXt4EAAAA\n1knQBAAAoFSCJgAAAKVyMiAAAIASfPjDH86Pf/zjPPTQQ/njH/+Y7bffPptvvnkuv/zyRpc27pwM\nCAAAaDoT+WRAX/7yl3Pvvffm4x//eKNLGbWRngzIEU0AAICS9YezZ599Nu985zvz61//OsuXL89r\nXvOafOpTn8ptt92WU045JdOmTcvs2bOzwQYbZMGCBQ2uujy+owkAADBG7r///rzqVa/KLbfckltv\nvTWXXnppkuSkk07KJZdckuuvvz4vfvGLG1xl+RzRBAAAGCOzZs3KrbfemmuuuSabbbZZnnrqqSTJ\n73//++y6665JkgMOOCD/+Z//2cgyS+eIJgAAwBhZsGBBZsyYkf/4j//Ihz70ofzxj39Mkmy99da5\n++67kyTf//73G1nimHBEEwAAoGR9J8vJq1/96hx77LH56U9/mp122ilz587Ngw8+mC984Qt5+9vf\nno033jgbbLBBttlmmwZXXC5nnQUAAJrORD7r7FBcdNFFOfbYY1OpVPKxj30sRVFk/vz5jS5rLc46\nCwAA0CS22GKLvO51r0tLS0s222yz/Pu//3ujSyqVI5oAAEDTafYjms1ipEc0nQwIAACAUgmaAAAA\nlErQBAAAoFSCJgAAAKUSNAEAACaIVatW5Yknnmh0GaMmaAIAADTYkUcemcWLF+enP/1pDj744EaX\nM2quowkAAEwKlcrMdHUtG7PlT59ezfLlS19wutmzZ2fjjTd+wekWL16cJFmyZEl+/vOfZ86cOVmw\nYEEOPPDAUdfaaK6jCQAANJ1613fsvbbjWOaQoV27c6uttsoDDzyQ008/PUcccUT22muvNf595cqV\n2WmnnfKb3/wmSXLSSSdliy22yGmnnZbtt98+3d3dmTZt2hrzfOpTn8ob3/jG8loZopFeR1PQBAAA\nms5EDpoPP/xwtthii+y999554IEHssEGG6w1zU033ZRtt902d9xxR175ylfmM5/5TB577LFcfvnl\nefLJJ/OrX/0qU6dOHYsmhkXQBAAA1hsTOWgmSU9PT1784hfn/vvvH3SaJ598Mvvtt19mz56d2bNn\n55vf/GauueaaHHfccenp6ekPc9l8883z4x//uJQOhmukQdN3NAEAAEq2ZMmS1Gq1vPa1r13r32bP\nnp0FCxaks7Mz++67b2bPnp0k+da3vpW//uu/TpL86le/yoYbbjiuNZdJ0AQAACjZs88+m3/+53/O\nMcccs8b4b3/725x44olJkkMOOSSHHHJIzjrrrMyaNSttbW0D0zX7J0QFTQAAgJL85Cc/WeOkPRdc\ncMEa//7cc8/l8ccfz5w5c/Kf//mf2XPPPddaRk9PT1760pcOfHQ2SW644YbMmTNn7AovmaAJAABQ\nkj322GPgsiX1fOc738kVV1yRBQsWDDpNURS59957m/qjs1MaXQAAAEAZpk+vpvf8NGPz07v8kfn1\nr3+dp59+Oj//+c+zyy67jHg5zcIRTQAAYFJYvnxpo0sY1A033JAzzzwzm222Wa699tq1/n31j8mu\nfr9ZubwJAADQdAa77AblGunlTXx0FgAAgFIJmgAAAJRK0AQAAKBUgiYAAAClEjQBAAAolaAJAABQ\nst122y0PPvjgsOc7//zzc+65565zmjvuuCPXX399kuTQQw9NrVbLlVdeOaI6x4qgCQAATAqVGZUU\nRTFmP5UZlSHX0n9ZkKOPPjpbbrllpkyZkjlz5mTKlCnZZptt0tbWliT53//932y77bYDP+eee27O\nO++8gd9f/OIX5wc/+MEay/7c5z6Xxx57LN3d3bnrrrsyZcqUXH755XnnO9+5xnS33npr5syZk002\n2SRbbbVVDjvssMybNy/bbLNN5syZkzlz5mT69Ol1r+s5Wq2lLxEAAKABup7oStrHcPntXS84za23\n3ppjjjkmDz74YPbZZ5/MnDkzn/3sZ/PpT386P/rRjzJ9+vTccMMNede73pUk2WGHHXL//fcPzH/B\nBRdkxYoV+ehHP1p3+U888USuv/76XHTRRbnnnnuyww47pFKp5Otf/3ra29uzfPnyVCq9gXjvvffO\n4sWLc8QRR+SDH/xg9t1337S1teW6667L/Pnz88///M/5xCc+UcKWWZugCQAAUJL+cPfyl7883/nO\nd7Llllvm6KOPzplnnpkkWbVqVTo7O7NixYp0dnamvb099957b1pbW7Ny5cosX748M2fOzMUXX5wk\n6e7uzhZbbJGf/exnSZJ77rknLS0t2XnnnVOr1dLS0pI5c+YMrP8rX/lKdt111yxcuHCNunp6eta4\nv2zZsmy00UZjth0ETQAAgDHw7LPP5pxzzskhhxyS173udfna176WD3zgA/n2t7+d3XffPfPmzUtR\nFLnxxhuz1VZb5dhjj80OO+yQT3ziE/nABz6Q4447Ln/2Z3+WI444YmCZe+21VxYvXpwkef3rX59T\nTz114GO4z/fQQw9ln332ySOPPJIf/ehHOfTQQwf+7eGHH86MGTPGrHff0QQAAChJd3d3vvnNb+bB\nBx/MEUcckYcffjhnnHFGtttuuxx//PH58pe/nLvuuis///nPk/QegfzVr36VbbbZJjvvvHPe+c53\nZv/998+mm26al7zkJdl2223zve99b631PPHEE7nuuuty2GGHDXzfcurUqVm0aNHANLNnz87ixYtz\n0EEH5YorrsgXvvCFJMmTTz6ZKVOmpKWlZcy2gyOaAAAAJfnGN76RL33pS5k6dWq+853vZKuttsr8\n+fNz0EEHpSiK7LvvvnnrW9+agw46KEkGTvrz9a9/PW95y1uyaNGiXHjhhdljjz1y3HHH5cUvfnE+\n/vGPr7We888/P0cddVRuu+22LFq0KL///e9zzDHH5JWvfGXdulb/6OxVV12Vv/zLv8w+++yTPfbY\nY0y2QzEmS016Vm8EAACgTP1ndX3+2FieDCjtWWudg+n/juZWW22VU089NVtssUW+8IUv5NOf/nQu\nueSSXHPNNUmSf/mXf8lFF100MN/SpUuzatWqzJo1K0nS1dWVd7zjHQPf8Ux6v6d54IEHZtGiRfn2\nt7+djo6OPPDAAzn33HMzb968NepYunRp3vSmN2W77bbLM888kz333DPz58/PlVdemVNPPTXt7e2Z\nO3dudtxxx7p91NvO/eNZR54UNAEAgKbTDEFz4cKFueuuu/Ke97wnt99+e172spfl7rvvzrx583LC\nCScMnHn28ccfz+mnn56XvOQlKYoiTz75ZCqVSq688socccQRedWrXpW5c+cm6f1u5f77758zzzwz\nxx57bJ566qnsuuuumTVrVjo6OjJ9+vSBGhYtWpQFCxbk5S9/eebOnZvZs2fnxBNPzAEHHJCTTz45\n8+bNy5133pnPf/7zOeGEE7Lxxhuv1cdIg6aPzgIAAJPC9M2mD+kSJKNZ/lD19PRk8eLFeetb35qF\nCxdm0003TZJMmTIll112WQ444IBsueWW+bd/+7fccccdef/7359//Md/zKc//ekkyamnnpr9998/\nl1xySb74xS/mu9/9bh577LEcfvjhOfXUU/PqV786F154YS6++OLMnz8/K1asyO677573ve99edOb\n3pQ/+7M/yytf+cqBj9JedtllOfLII/PBD34w73//+/Pss8/mqaeeypw5c7LFFlvkPe95T6nbyhFN\nAACg6Qx2pG0iOOCAA3L//ffnV7/6VR5//PHMnj07SbL99tvnnnvuyYYbbpgHH3ww1Wo1d955Z17x\nilektbX3GOAFF1yQp556KmecccbA8u6+++7ssssuefDBB3P77bdn9913z1FHHZXXvva1+Yd/+Ids\ns802SZLf/va3+fSnP51Fixbl2muvXePo5oMPPpjnnnsuf/7nfz6sXnx0FgAAWG9M5KA5mYw0aLq8\nCQAAAKUSNAFGqVqppiiKFEWRaqXa6HIAABrOR2cBRqkoinSkI0nSljYf4wGAceCjs+PDR2cBAACY\nEARNAAAASiVoAgAANJHu7u4kyapVq/KHP/xhYLz/EiYTgaAJAABMCjMrlYET9I3Fz8xKZci13H77\n7dl///1L77Grqyt77bVXfvazn+XXv/51/u7v/i5Lly5Nkpx88sn51re+Vfo6R0LQBAAAJoVlXV3p\nScbsZ1lX14jqWrFiRVpbWzNnzpxsueWWOeaYYwb+7eMf/3i23HLLgX8755xz8pGPfCSVSiWbb755\nNt1005x77rkD00+fPj1f/OIXc8opp2SnnXbK8ccfn0suuST33ntv7rrrrhx66KFrrPuf/umfsu22\n29b92XrrrbPnnnuOqKcX4qyzAKPkrLMAMP7qnQ21KIqM5btwkQzpfX7HHXfMc889l0cffTTbbLNN\nPvzhD+ecc87J4sWL873vfS9f/OIXc9lllyVJzjrrrLS0tOS4447LV77ylTz77LNZuXJlZs6cmTe9\n6U256KKLUqlUcvrppydJjjvuuNRqtfzxj3/MtGnT8uyzz2aDDTbIfffdlyTZaaedsu222+bzn//8\nGjUtWLAge++9d3bZZZeBsd/+9rd561vfms7OzsF7HuFZZ1tfcCsBAAAwZL/+9a9z8cUX52tf+1pu\nvvnmrFixIuecc06StYPqPvvsk+uuuy7/+q//mqIo8sADD+SlL31pHnnkkYGxvffee2D666+/Ptdd\nd12mTKn/4dSurq6ccMIJa43vsssuOfLII3Prrbdms802G5h22rRpZbW9BkETAACgZJdddlkWLVqU\nk046KZ/97GcHnW7+/PlrnNDn8ccfz6abbpqpU6cOjHV0dOQnP/lJkuSggw7K7373u5xyyilrLKen\npydFUeS2225LW1vbWuvZe++9c/DBB+fCCy/MRz/60SSCJgAAQNO44YYbcvfdd2fu3Lm5+eab86Mf\n/Wid0y5ZsiQdHR256KKLcv755+d3v/tdrrrqqnzgAx/IXnvtlS233HJg+i9/+ctJkoMPPnhg7JZb\nbsnRRx+dU045JdVqda2Pzfb76Ec/mg033DBJsnTp0jz66KPZZJNNymh5LU4GBAAAUJKHH344J510\nUs4+++xsuOGG+dKXvpQddtih7rTf//7387KXvSzve9/78vjjj+d//ud/8uY3vzkf/OAHc/HFF+f7\n3/9+jjzyyGy99da5+eab6y5j4cKFOfTQQ/OpT30qH/nIR9ZZ24Ybbpirr746Rx55ZA488MA8+uij\nAx+jLZsjmgAAACWpVCr5whe+kEqlkq997WvZe++984tf/GKtj6j+5je/SU9PT+bPn59//Md/zJIl\nS3LhhRfm3e9+d1paWnLhhRemUqlk6dKl+fznP5/9998/DzzwwFqXTHnqqafS09OTj370owMfiS2K\nIosWLcqLXvSiPPXUU7n66qtzxRVX5Lbbbsthhx2W+fPn5xWveEU+97nP5UUvetGYbAdBEwAAoCQb\nb7xx2traBr5TmSTnnXde5s6du8Z0N910U+66667svPPOOfHEE/OZz3wm//f//t889NBDKYoiZ511\nVk4++eS8973vHTiB0DbbbJPFixevsZyvfe1rueOOO/KpT32qbj2/+93vsnDhwrztbW/L5ZdfvsZJ\nhB566KHsuOOOZbW+BkETAACYFKrTp6cY4bUuh7r84Tr//PNz6aWXDnz0deutt873vve9dHR0ZOHC\nhbn99tvz7//+71m4cGGeeOKJvOtd70rSe9mTz372s3nssceyzz77DLr8np6edV5yZZdddsmll166\nxtgzzzyTqVOn5pe//OUa3/Us01C+o3lAkhv77s9M8u0kNyT5zyRjc4oiAACAYVq6fPlA8BqLn6XL\nlw+5lr7rTGbKlCmZP39+9t133yS9we+RRx7JQw89lD322CNFUeTv//7vc8cdd+S0004bmL+9vT33\n3Xdf/v7v/37Qdfyf//N/csopp+Qv/uIvhrWdLrvssmy//fap1WrZc889hzXvUA16gc0+H07yliRP\nJdk3ySeT/CrJl5KcluTpJPXO1dvjguXA+qIoinSkI0nSlrYhXcgZABidoiia4j23/7IjzWqw7dzX\n06CNvdARzfuSvGG1Beyf5Jq++9f0/Q4AAEAdzRwyR+OFguZVSVau9vuLktT67j/V9zsAAAAMGO7J\ngJYlqaT3I7Mzkjw+2ITt7e0D9+fNm5d58+YNvzpKV61UU+vq/X8FM6bPyLLlyxpcEQAAMNF1dnam\ns7NzyNMP5TjudkkuS7JPkvOS3JnkK0nOTO/Rzc/Vmcd3NCco3yWD8nleAcD4a5bvaDa7sfqOZr/+\nJX8iyZuSdCTZJcm/DatKAAAAJr2hBM0l6T3jbNL7UdlDkrQlOTq9H6EFAABouEq1mqIoxuynUq0O\nu6ajjz46N9544wtPOIgnnnhixPM20nC/owkAADAhddVqSUfH2C2/rW3Y86zrrLO33npr2traMmvW\nrCS9l0J56KGHsnJl7/lYOzs7c/bZZ+eGG24YWcENJGgCAACU5JZbbslrXvOabL755kmSRx99NJ2d\nndloo40Grqm5ePHiJL0hdOrUqQNBM0keeeSRPP300zn//PNzyy235Jvf/GZD+hitoX5HEwAAgBdQ\nFEXe+MY3ZvHixVm8eHEOPfTQfP3rX8/ixYtzzz33rDHttGnTsttuu+Wv/uqvssEGG2S33XbL3Llz\nc+ONN2bu3Lm59tprc+WVV+bpp5vvG4uOaAIAAJSkp6cnV1xxxcClQJ5/RHPKlN5jfd3d3Xn961+f\nJFmyZEkeeOCBPProo0mSr3zlK/mP//iPLFiwID/60Y9y4oknNqSX0RA0AQAASnTUUUdlwYIFSZJj\njjkm7373u3PAAQfkmWeeyc4775wkaWlpyZ133pnPfW7Nq0Vuuummede73pXTTjstP/vZz7Jw4cJx\nr78MPjoLAAAwhvqvQ7lq1ao1xmu1Wi688MI1pvvEJz6Rq666Kj09Pfnv//7vfPe7382tt946rvWW\nwRFNAACAkkybNi233HJLXvKSlyRJHn744dx8883ZeOONkyRz5szJM888k6lTp6YoiixdujQXX3zx\nwPxFUeQtb3lL3vKWt+Shhx7K+9///lx77bUN6WU0BE0AAICSvOIVr8h999038PsxxxyTk046KX/z\nN38zMDZ//vzstttuOeqoo3LxxRfn2WefzTnnnJPDDz88G2+8cVasWJGnn346Bx98cD72sY9lzpw5\njWhlVARNAABgUpg+Y8aIrnU5nOUP1z777JMTTjghm2yyycDYk08+meOPPz577rlnqtVqLrnkkpx7\n7rn52Mc+ljPPPDNnn312rrrqqrzvfe/Lm9/85jJbGDeDXz10dHr6P4fMxFIURTrSexHbtrTF4wSj\n53kFAOOvKIqmf8+94447ssMOO2T33XfPzjvvnG9961v5wx/+kL/927/N+eefn4MPPrjRJQ66nYui\nSNaRJx3RBAAAaIC5c+cmSe69996BsS233DJ33313o0oqjbPOAgAAUCpBEwAAgFIJmgAAAJRK0Hye\narWSoihSFEWq1UqjywEAAGg6Tgb0PLVaVzp6Tx6ZtrauxhYDAADQhBzRBAAAJoVqpTrw6cSx+KlW\nqkOuZfUzySbJJZdckssvv3zQ6VetWrXWPM3MEU0AAGBSqHXVBq5tPRbautqGPO1rXvOaLFq0KLNm\nzUqSHHzwwXnVq16VHXfcMa94xSuSJMuWLctXv/rV3H777fnhD3+YfffdNytWrMgPfvCDbLrppkmS\nRx55JGeccUZOPvnk8hsaQ45oAgAAlOiHP/xhdtlll8yaNSsXX3xxZs2alQMPPDA9PT059thjs8MO\nO6StrS2bbbZZdt1118yePTvHH398vvSlL2XDDTfMxRdfnDvvvDN33nln3vOe9zS6nRFxRBMAAKBE\nn//85/Pud787hx12WPbbb7/st99+Oeyww9LT05Mkeeihh/K9730vixYtytvf/vYsX748PT09ufji\ni3PAAQfkxBNPzLRp05L0HvU8++yzG9nOiAiaAAAAJbn33ntz1VVXZcWKFZkyZUo222yztLa2ZurU\nqQPTbLfddjn99NOz1157ZfHixXn1q1+d/fbbL2eccUZ6enqyatWqNZbZ0tIy3m2MmqAJAABQkp12\n2ikLFy7Me9/73lxxxRVZuHBhOjs78/Of/3ytab///e9nxYoVuf7663PzzTdno402yle/+tUkycMP\nP5wNN9ww1Wo1M2fOzI033jjerYyKoAkAAFCSoihy6aWX5uUvf3m+8Y1vZMmSJVm2bFluuOGGHH30\n0fnIRz6Shx56KNdff32ee+65fPzjH8+OO+6YN77xjbn66qvz4x//OBtvvHFOO+207Ljjjnnb297W\n6JZGRNAEAAAoyVNPPZVf/vKXefnLX56ddtop1113Xf78z/88Rx11VO6///7Mnz8/K1euzJNPPpnO\nzs7cfPPNefvb355Vq1blpptuyk477ZQVK1Zk+fLlaW1tTXt7ew4//PD867/+a6NbGxZBEwAAmBRm\nTJ8xrEuQjGT5L2STTTbJ5ZdfnssvvzznnXdelixZkv322y9nn312jj766Jx22mn5wx/+kOuvvz7b\nbbddLr/88lx//fVZsWJFiqLIfffdlyRNf0TT5U0AAIBJYdnyZenp6Rmzn2XLl71gDd/4xjdy0EEH\n5ZlnnsnrX//67L///pky5U+xa4cddsiuu+6aJNl+++0H7ifJu9/97rzsZS/Ly172snzpS1/KmWee\nOfD7NddcU/4GG0OOaAIAAJTkqKOOyhvf+MYkyYc+9KGccsopufDCC1MURX72s59lo402yhFHHJHF\nixdn5syZA/MVRZGLLrqoUWWXrhij5fb0XyOm2RRFkY6O3vttbUmz9jGYoijSkd4G29I26fqDRvC8\nAoDxVxRF07zn9vT0pCjGKnqNrcG2c18/gzblo7MAAABjqFlD5mgImgAAAJRK0AQAAKBUgiYAAACl\nEjQBAAAolaAJAABMCtVqJUVRjNlPtVp5wRq6u7vzmc98JsuXL3/BaS+99NLcd999a41vt912eeqp\np0a0DSYK19EEAAAmhVqta+BShWOhra3rBadpaWnJs88+mze/+c356le/mj322GONs84++eSTOf74\n43Peeedl9uzZaWtryw033JDbbrst5557bpLkD3/4Q/bcc89MmTIlr3vd6/LJT35yzHoaK4ImAABA\nSd7xjnfknHPOyc4775zzzz8/S5Ysyf/+7//mhhtuyDve8Y58+ctfzi9+8Yskyate9ap8+MMfzrXX\nXpv3vve9Ofroo5Mkc+bMyaJFizJt2rRGtjIqgiYAAEBJfvGLX+SZZ57JIYcckksuuSRXX3112tvb\n84lPfCJJ0tPTs8b0733ve5P0hs7+I58PP/xwDjnkkLS0tCRJzjvvvOy2227j2MXoCZoAAAAl6unp\nyYEHHpi77rort912W5Lkta99bZ555pmBaTo6OnLCCSfk97//fZ577rlccMEF+eQnP5mjjjoqu+yy\nS9ra2rL11lvnyCOPzJZbbtmoVkZM0AQAAChZURTp7OzMrrvumiTZdttt1/iuZltbW5YsWZJtt902\nSfLTn/40b3jDG3Leeedl8803z6xZszJ16tScdtpp2WKLLRrSw2g46ywAAEDJNttss+y5556pVCpp\naWlZ42hmPS996Utzzjnn5L/+67/S09OTjTbaKHPnzs3JJ588ThWXS9AEAAAoUVEU+a//+q8cdthh\n+frXv56tttoqjzzySK688srUarW1pr/11lvztre9Lc8880wOOOCAXHPNNfmHf/iH7LLLLtlll13y\nk5/8pAFdjI6gCQAAUKInnngi5513Xm655Zb8zd/8TaZNm5btttsuZ5xxRjbaaKO1pv/973+f9vb2\n/PKXv8xxxx2Xv/u7v8vuu++eK664InfffXf22GOPBnQxOr6jCQAATAozZkwf0rUuR7P8oViwYEGu\nueaaXH311dlkk01y7733JkluvPHGXHPNNQPTPf3003niiSdy5ZVX5vDDD88hhxySFStW5Fvf+la+\n+93v5ogjjsg73vGOfPCDHxyTfsaSI5oAAMCksGzZ8vT09IzZz7Jly4dUx8knn5x77rknc+fOXWP8\ntNNOywUXXDBwqZKNN94499xzT97whjfkc5/7XI455phcf/312WSTTXL44Yfnxz/+cW666ab89re/\n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\nE4egCQAAQKkETQAAAEolaAIAAFAqQRMAAIBSCZoAAACUStAEAACgVIImAAAApRI0AQAAKJWgCQAA\nQKkETQAAAEolaAIAAFAqQRMAAIBSCZoAAACUStAEAACgVIImAAAApRI0AQAAKFXTB81KZWaKokil\nMnNgrDUtaUtbWtMyrrVUq5UURZGiKFKtVtY57QZJir7bUkxJ0t73M8xHtTLjT3VXZqy77vEwnO04\nLvq37QieLS19+2Jb2tLSvz+2tCZtbb0/La0lFlqelrT21bzu+ur2N0Stq8073s9V1m/VSrX39aVS\nHbN12L8nppaW1V5+m+hh6d9nx3q/rbvuvvfk1d+P640NeXkN7AXGWv/fRav/TVRvrOz3ofF6Xg23\n7qYPml1dy5L09N32Wpnu9PTdjqdarSsdHUlHR+/9dXkuSdr7bsuwKkl6en9WDW/Wrie6BkJq1xPr\nrns8DGc7jov+bTvM7Zok3eke2Lbd/ftj98oMPFbdK0sqslzdWZl0dPTernO6Ov0NUf/ztBHPVdZv\nta5aOtKRWldtzNZh/56YuruT/tff7iZ6WPr32bHeb+uuu+89efX343pjQ15eA3uBsdb/d9HqfxPV\nGyv7fWi8nlfDrbvpgyYAAAATi6AJAABAqQRNAAAASiVoAgAAUCpBEwAAgFIJmgAAAJRK0AQAAKBU\ngiYAAAClEjQBAAAolaAJAABAqQRNAAAASiVoAgAAUCpBEwAAgFIJmgAAAJRK0AQAAKBUgiYAAACl\nEjQBAAAo1XodNFvSkra+/1rS0uhySletVlIURYqiSLVaGbd5AQCA9VtrowtopO50J+1999u7G1rL\nWKjVutLR0Xu/ra1r3OYFAADWb+v1EU0AAADKJ2gCAABQKkETAACAUgmaAAAAlErQBAAAoFSCJgAA\nAKUSNAEAACiVoAkAAECpBE0AAABKJWgCAABQKkETAACAUgmaAAAAlErQBAAAoFQjDZofSXJL389e\ng0/WWX+0c+3x228f2nT1l7n22CBrXnto8RCnG2SJt2ftwuv2Um/mOuuuv5Y6o0Osu14t9eetP153\n/nrrqbMd6j1+Q33sh7o/1K9vkMdliGNDfvzrbcehjtXbZ+vu7xnyBqq7vYe4vLrrrrtx60w32P40\n1LrrzTrE/WnI22EUY4PVM5qxUdUz1CfMoE+OUcw/ise0bi+jeL4MWs8Qn1t1H5d6SxvN/lRnefVf\ncwYZr/ceMdTn+Shex0b7fBny9h7F+8FQ34eGtT8N8W+J0fQ39Nf+oa1j0F5KflyH/HIwmvfeQV6z\nhvz3wDi8/o5mvcOatt7fYyW/D41m24xXPeMxNibLHOJ725BfF8eg7qG+Jw9nO9YzkqD5F0lem+Sv\nk7wlyYWDT9pZf3QiBc0lQ5xuLIJmnXXXX0ud0TrzDjlo1p23/riguY6xJXUmG+rYZAqaS+qtZJD5\nBc3R1zOZguaSOhPWG1tfg+aSIdZTd4n1RuuMDXUdzRo0lwxt3sHG603ZFEFzSZ0pBc1B551wQXPJ\nyOcVNIc3NibLXFJnJXXGJlzQXDLydQxmJEFz/yT/03f/d0lak2w6guUAAAAwCY0kaM5M8sRqvz+Z\n5EXllAMAAECzK0Ywz0lJNkvyyb7f70yyT3oDZ7/bk8wdXWkAAABMUHck2a3MBe6a5Ht99+ckua3M\nhQMAANDcWkcwz11JOpLclKQlvUc4AQAAAAAAAMrXUvLyWtP70dq/SO+ZaJel94RDYz22qoHr1ote\nmm2sWXtp1rr10jxjemn8WLPWrZfmGdPLxBxr1l6ate7R9rIqQzCSkwEN5tAkn0jyq/SeGGhGkpcn\n6U7v9zjHauwlSS5P8oYGrFsvepkoNU72Xpq1br00z5heGj/WrHXrpXnG9DIxx5q1l2ate7S9vCTJ\nB5IszDj6fpLpzxu7NcmPx3hsRpKuBq1bL4OP6WVijjVrL81at16aZ0wvjR9r1rr10jxjepmYY83a\nS7PWPdpeZvSNv6CRnAxoXZ553u/dfT9jOfZkkp4GrVsvg4/pZWKONWsvzVq3XppnTC+NH2vWuvXS\nPGN6mZhjzdpLs9Y92l6eTLIyQ1Bm0Py3JD9N8sMktfQm4m3T+7nefxvDsX3Te6i3EevWi14mSo2T\nvZdmrVsvzTOml8aPNWvdemmeMb1MzLFm7aVZ6x5tL/sm+VyGoMzvaCbJzCR7JHlRer8o2n+odazH\nljZw3XrRS7ONNWsvzVq3XppnTC+NH2vWuvXSPGN6mZhjzdpLs9Y92l6WZgjKPKI5JckBSfbvK+Tx\nJBv1/dtYjk1NcnWD1q0XvUyUGid7L81at16aZ0wvjR9r1rr10jxjepmYY83aS7PWPdpepib5dno/\nartOZR7RvCi9YfOa9H52t5rknPR+rvf0MRw7OMkr03syovFet170MlFqnOy9NGvdemmeMb00fqxZ\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x112dbda10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 画出柱状图\n",
    "full_dates.plot(kind='bar', stacked=True, figsize=(16, 8))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes.AxesSubplot at 0x112e0c650>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n5NCkSRPatm1Lv379yMvLo3379uTk5JCTk0PTpk33eF3y/nAgDkmqY9avXQ8F1fj+Bev3us7s2bMZ\nNGgQy5Yto0ePHrRo0YI777yTP/zhD7zxxhs0bdqU6dOn87Of/QyAjh07Vpiy8I477mDz5s3ccMMN\ne3z/tWvXMm3aNO69914WLlxIx44dycrK4oknnqCgoIB169aRlRV9UejevTuLFy+mf//+/OY3v+Gk\nk04iPz+fl19+mREjRvC73/2O2267rQpapiIDWJJU43aG3rHHHsuLL75ImzZtGDhwICNHjgRgx44d\nFBUVsXnzZoqKiigoKGDRokVkZmayfft21q1bR4sWLRg/fjwAJSUltGrVinfeeQeAhQsXkpGRQZcu\nXSguLiYjI6PCJA0PPfQQRx11FFOmTKlQV/nBNOLxOGvWrOGAAw6oljYwgCVJQW3dupXRo0fTt29f\nzjrrLB599FGuvvpqnn/+eY4//njy8vKIxWK8+uqrtG3blosuuoiOHTty2223cfXVV3PxxRfzH//x\nH/Tv37/sPbt161Y22cM555zDr371qwrTGJa3fPlyevTowVdffcUbb7zB2WefXfbcihUraN68ebVs\nt+eAJUk1rqSkhGeffZZly5bRv39/VqxYwY033kiHDh245JJLePDBB1mwYAHvvvsuEO2xfvjhh7Rv\n354uXbowZMgQevbsyYEHHsgRRxzBIYccwiuvvLLbz1m7di0vv/wy/fr1Kzuf27BhQ+bMmVO2TuvW\nrVm8eDG9e/fm6aef5r777gNgw4YN1KtXj4yMjGppA/eAJUk17qmnnuL++++nYcOGvPjii7Rt25YR\nI0bQu3dvYrEYJ510Ej/5yU/o3bs3QFlnqyeeeIILL7yQOXPmMG7cOE444QQuvvhiDj30UG699dbd\nfs7YsWMZMGAAc+fOZc6cOXzxxRcMGjSI7373u3usq/wh6GeeeYb/+q//okePHpxwwglV3gZOxiBJ\ntdieJgmIxWLV2gmLAhKeAGLnOeC2bdvyq1/9ilatWnHffffxhz/8gQkTJjB16lQA/vSnP3HvvfeW\nvW716tXs2LGDli1bArB+/Xouv/zysnPIEJ0HPvXUU5kzZw7PP/88hYWFLF26lFtuuYW8vLwKdaxe\nvZof/OAHdOjQgS1btnDiiScyYsQIJk+ezK9+9SsKCgrIzc2lU6dOe9yOZCZjMIAlqRZLhwCeMmUK\nCxYs4Oc//znz5s3j6KOP5oMPPiAvL4/BgweX9YRetWoV119/PUcccQSxWIwNGzaQlZXF5MmT6d+/\nP6eddhq5ublAdO62Z8+ejBw5kosuuoiNGzdy1FFH0bJlSwoLC2natGlZDXPmzGHixIkce+yx5Obm\n0rp1ay699FJ69erF0KFDycvL47333uOee+5h8ODBNGrUaLftSCaAa1JcklSz9vS3t2mzpnGg2m5N\nmzVNuL7c3Nz4zJkz461bt46/9dZb8Xg8Hu/QoUN8y5Yt8U8++STevn37+HPPPRfv06dPvH379vEx\nY8bES0pK4mPGjIkXFBTE4/F4fM6cOfEhQ4bEu3TpEv/888/j77zzTvywww6L33nnnfGVK1fG7777\n7vhRRx0VnzBhQvzuu++OH3HEEfG77747vmLFit3qeeyxx+Lt2rWL33nnnfF4PB7fsmVLPCcnJ96h\nQ4d4t27d9qmddy6vLBTdA5akWiyV5wPu1asXn3/+OR9++CGrVq2idevWABx++OEsXLiQBg0asGzZ\nMrKzs3nvvfc47rjjyMyMui7dcccdbNy4kRtvvLHs/T744AO6du3KsmXLmDdvHscffzwDBgzgzDPP\n5Mc//jHt27cH4NNPP+UPf/gDc+bM4aWXXqqwN7xs2TK2bdvGYYcdtk/b4iFoSVIFqRzAtUkyAexl\nSJIkBWAAS5IUgAEsSVIABrAkSQEYwJIkBWAAS5JqpZKSEiCaWenLL78sW77zUqPQDGBJqmNaZGUR\ni8Wq7daidJ7dRMybN4+ePXtW+TauX7+ebt268c477/Dxxx/z3//936xevRqAoUOH8txzz1X5z9xX\nBrAk1TFr1q+vvmGwSt8/GZs3byYzM5OcnBzatGnDoEGDyp679dZbadOmTdlzo0eP5rrrriMrK4uD\nDz6YAw88kFtuuaVs/aZNm/LnP/+ZYcOG0blzZy655BImTJjAokWLWLBgQYUpBwF++9vflk34sOut\nXbt2nHjiiUlt07dxIA5JqsUqGwu6Ov8ax0hsLOhOnTqxbds2Vq5cSfv27bn22msZPXo0ixcv5pVX\nXuHPf/4zjz/+OACjRo0iIyODiy++mIceeoitW7eyfft2WrRowQ9+8APuvfdesrKyuP766wG4+OKL\nKS4u5ptvvqFx48Zs3bqV+vXr89FHHwHQuXNnDjnkEO65554KNU2cOJHu3bvTtWvXsmWffvopP/nJ\nTygqKqp8m5MYiMPpCCVJQXz88ceMHz+eRx99lJkzZ7J582ZGjx4N7B7gPXr04OWXX+buu+8mFoux\ndOlSjjzySL766quyZd27dy9bf9q0abz88svUq7fnA73r169n8ODBuy3v2rUr5513HrNnz6ZZs2Zl\n6zZu3LiqNruMASxJCubxxx9nzpw5XHHFFdx5552VrjdixIgKHalWrVrFgQceSMOGDcuWFRYW8tZb\nbwHQu3dvPvvsM4YNG1bhfeLxOLFYjLlz55Kfn7/bz+nevTt9+vRh3Lhx3HDDDYABLEmqZaZPn84H\nH3xAbm4uM2fO5I033vjWdZcsWUJhYSH33nsvY8eO5bPPPuOZZ57h6quvplu3brRp06Zs/QcffBCA\nPn36lC2bNWsWAwcOZNiwYWRnZ+92+HmnG264gQYNGgDRPMErV66kSZMmVbHJFdgJS5JU41asWMEV\nV1zBTTfdRIMGDbj//vvp2LHjHtd97bXXOProo/nFL37BqlWr+Nvf/sYPf/hDfvOb3zB+/Hhee+01\nzjvvPNq1a8fMmTP3+B5Tpkzh7LPP5vbbb+e666771toaNGjACy+8wHnnncepp57KypUryw5HVyX3\ngGux7OwsiouT641YnZo3b8qaNetClyEpoKysLO677z6ysrJ49NFH6d69O++///5uh3o/+eQT4vE4\nI0aM4H/+539YsmQJ48aN48orryQjI4Nx48aRlZXF6tWrueeee+jZsydLly7d7dKmjRs3Eo/HueGG\nG8oOLcdiMebMmcNBBx3Exo0beeGFF3j66aeZO3cu/fr1Y8SIERx33HHcddddHHTQQVXeBgZwLVZc\nvJ7CwtBV7C4/P/W+FEh1SXbTpsSSvFQo0fffm0aNGpGfn192zhZgzJgx5ObmVlhvxowZLFiwgC5d\nunDppZfyxz/+kf/93/9l+fLlxGIxRo0axdChQ7nqqqvKOm61b9+exYsXV3ifRx99lPnz53P77bfv\nsZ7PPvuMKVOmcNlllzFp0qQKnbeWL19Op06dEt7+RBnAklTHrF6Xekegxo4dyyOPPFJ2CLldu3a8\n8sorFBYWMmXKFObNm8cDDzzAlClTWLt2LT/72c+A6PKkO++8k6+//poePXpU+v7xePxbL43q2rUr\njzzySIVlW7ZsoWHDhvzzn/+scC65qiRyDrgX8Grp/RbA88B04Elg57GC3sDrwCxgSBXXKEmqpUqv\nk6VevXqMGDGCk046CYgC8auvvmL58uWccMIJxGIxfvSjHzF//nyGDx9e9vqCggI++ugjfvSjH1X6\nM379618zbNgw/vM//3Ofanv88cc5/PDDKS4uDjIQx7XAhcBG4CTg98CHwP3AcGATcDfwHnAysB54\nEzgdWLnLezkQRw2LxWIpegg6sYv0Je2/ygaISDU7Lw9KV8kMxLG3PeCPgPPLvbgnMLX0/tTSxx2B\npcAaYDvR3nJ3qlF2dvWOY5rMLTs78bFPJUkVpXP4Jmtv54CfATqUe3wQUFx6f2Pp4/LLADaULttN\nQUFB2f28vDzy8vL2pdYyqdi5yI5FkqSioqJvHbKyvH3thLUGyCI69NwcWFW6rHyXt+bA13t6cfkA\nliSpttl153LUqFGVrruvA3HMJDq/C9AHmEF0mPowoBnQgKjTVuXDmUiSpIT3gHeeWb4NeBAYDKwo\n/bcE+DXROeF6wDh274AlSZLKSWQPeAlRD2iIDjn3BfKBgUSHogH+StQLugcwoWpLlCRVpazs7Grt\nlJqVnb3PNQ0cOJBXX3117ytWYu3atUm/NhQH4pCkOmZ9cTHV2ZN1/R5mGdqbb+sFPXv2bPLz82nZ\nsiUQXbK0fPlytm/fDkQdn2666SamT5+eXMGBGMCSpBo3a9YszjjjDA4++GAAVq5cSVFREQcccEDZ\nNcE7h5OMxWI0bNiwLIABvvrqKzZt2sTYsWOZNWsWzz77bJDt2B/OhiRJqnGxWIwLLriAxYsXs3jx\nYs4++2yeeOIJFi9ezMKFCyus27hxY4455hi+853vUL9+fY455hhyc3N59dVXyc3N5aWXXmLy5Mls\n2rSpkp+WmtwDliTVuHg8ztNPP112zeyue8A7J0MoKSnhnHPOAWDJkiUsXbqUlSujfr4PPfQQjz32\nGBMnTuSNN97g0ksvDbItyTKAJUlBDBgwgIkTJwIwaNAgrrzySnr16sWWLVvo0qULABkZGbz33nvc\nddddFV574IEH8rOf/Yzhw4fzzjvvMGXKlBqvf395CFqSlBJ2jqW8Y8eOCsuLi4sZN25chfVuu+02\nnnnmGeLxOH/961/5+9//zuzZs2u03v3lHrAkqcY1btyYWbNmccQRRwCwYsUKZs6cSaNGjQDIyckp\nmw4wFouxevVqxo8fX/b6WCzGhRdeyIUXXsjy5cv55S9/yUsvvRRkW5JlAEuSatxxxx3HRx99VPZ4\n0KBBXHHFFXz/+98vWzZixAiOOeYYBgwYwPjx49m6dSujR4/m3HPPpVGjRmzevJlNmzbRp08fbr75\nZnJyckJsStIMYEmqY5o2b57Utbr78v77qkePHgwePJgmTZqULduwYQOXXHIJJ554ItnZ2UyYMIFb\nbrmFm2++mZEjR3LTTTfxzDPP8Itf/IIf/vCHVbkJNaIm53+qsvmAU3Ge21Sc4zYV2wlSs62k2ipd\n5gP+NvPnz6djx44cf/zxdOnSheeee44vv/ySU045hbFjx9KnT5/QJSY1H7B7wJKklJabmwvAokWL\nypa1adOGDz74IFRJVcJe0JIkBWAAS5IUgAEsSVIABrAkSQEYwJIkBWAAS1Idk52VTSwWq7ZbdlZ2\nwrWU79kMMGHCBCZNmlTp+jt27NjtNenKy5AkqY4pXl9MIdU3SED++sQH+TjjjDOYM2dO2Vy/ffr0\n4bTTTqNTp04cd9xxAKxZs4aHH36YefPm8Y9//IOTTjqJzZs38/rrr3PggQcC0fzAN954I0OHDq36\nDaom7gFLkoL4xz/+QdeuXWnZsiXjx4+nZcuWnHrqqcTjcS666CI6duxIfn4+zZo146ijjqJ169Zc\ncskl3H///TRo0IDx48fz3nvv8d577/Hzn/889ObsM/eAJUlB3HPPPVx55ZX069ePk08+mZNPPpl+\n/fqVjSi1fPlyXnnlFebMmcNPf/pT1q1bRzweZ/z48fTq1YtLL72Uxo0bA9Fe8k033RRyc/aZASxJ\nqnGLFi3imWeeYfPmzdSrV49mzZqRmZlJw4YNy9bp0KED119/Pd26dWPx4sWcfvrpnHzyydx4443E\n4/Hdpi3MyMio6c3YLwawJKnGde7cmSlTpnDVVVfx9NNPM2XKFIqKinj33Xd3W/e1115j8+bNTJs2\njZkzZ3LAAQfw8MMPA9E0hg0aNCA7O5sWLVrw6quv1vSmJM0AliTVuFgsxiOPPMKxxx7LU089xZIl\nS1izZg3Tp09n4MCBXHfddSxfvpxp06axbds2br31Vjp16sQFF1zACy+8wJtvvkmjRo0YPnw4nTp1\n4rLLLgu9SfvMAJYk1biNGzfyz3/+k2OPPZbOnTvz8ssvc9hhhzFgwAA+//xzRowYwfbt29mwYQNF\nRUXMnDmTn/70p+zYsYMZM2bQuXNnNm/ezLp168jMzKSgoIBzzz2Xu+++O/SmJcwAlqQ6pnnT5vt0\nqVAy7783TZo0YdKkSUyaNIkxY8awZMkSTj75ZG666SYGDhzI8OHD+fLLL5k2bRodOnRg0qRJTJs2\njc2bNxOLxfjoo48A0noP2MuQJKmOWbNuDfF4vNpua9at2WsNTz31FL1792bLli2cc8459OzZk3r1\n/h1JHTt25KijjgLg8MMPL7sPcOWVV3L00Udz9NFHc//99zNy5Miyx1OnTq36Bqsm7gFLkmrcgAED\nuOCCCwC45pprGDZsGOPGjSMWi/HOO+9wwAEH0L9/fxYvXkyLFi3KXheLxbj33ntDlV2lYjX4s+I7\nr+3aX7FYjMLqG8QlKfn5UFXbV1VSsZ0gNdtKqq1isVja/L7F43FisZqMpapTWTuXbs8eN8pD0JKk\nlJCu4ZssA1iSpAAMYEmSAjCAJUkKwACWJCkAA1iS6pjs7CxisVi13bKzs/ZaQ0lJCX/84x9Zt27d\nXtd95JFHygbeKK9Dhw5s3LgxqTZIBV4HLEl1THHx+mq9RDE/f/1e18nIyGDr1q388Ic/5OGHH+aE\nE06o0At6w4YNXHLJJYwZM4bWrVuTn5/P9OnTmTt3LrfccgsAX375JSeeeCL16tXjrLPO4ve//321\nbVN1MIAlSTXu8ssvZ/To0XTp0oWxY8eyZMkS/vWvfzF9+nQuv/xyHnzwQd5//30ATjvtNK699lpe\neuklrrrqKgYOHAhATk4Oc+bMKZsTON0YwJKkGvf++++zZcsW+vbty4QJE3jhhRcoKCjgtttuA3Yf\nrOeqq64CojDeuae8YsUK+vbtWzYP8JgxYzjmmGNqcCv2jwEsSQoiHo9z6qmnsmDBAubOnQvAmWee\nyZYtW8rWKSwsZPDgwXzxxRds27aNO+64g9///vcMGDCArl27kp+fT7t27TjvvPNo06ZNqE1JigEs\nSQomFotRVFRUNtnCIYccUuFccH5+PkuWLOGQQw4B4O233+b8889nzJgxHHzwwbRs2ZKGDRsyfPhw\nWrVqFWQbkmUvaElSMM2aNePEE08kKyuLjIyMCnu/e3LkkUcyevRo/vKXvxCPxznggAPIzc1l6NCh\nNVRx1TGAJUlBxGIx/vKXv9CvXz+eeOIJ2rZty1dffcXkyZMpLi7ebf3Zs2dz2WWXsWXLFnr16sXU\nqVP58Y9/TNeuXenatStvvfVWgK1InoegJamOad68aUKXCu3P+ydi7dq1jBkzhlmzZjFhwgQaN25M\nhw4daNSoEb/85S93W/+LL76goKCAgQMHMnr0aGbNmkXLli0ZPnx4hfmC04V7wJJUx6xZs454PF5t\ntzVr9j64BsDEiRO5//77eeGFF2jSpAmLFi1iyZIljB8/nsWLF5ett2nTJtauXcvkyZOpV68effv2\npaioiMmTJzNgwAD69+/PmDFjqqu5qo0BLEkKYujQoSxcuJDc3NwKy4cPH84dd9xRdklRo0aNWLhw\nIeeffz533XUXgwYNYtq0aTRp0oRzzz2XN998kxkzZvDpp5+G2Iyk1eTki/GqmhQ6FSeaT8VJ5lOx\nnSA120qqrSqbKD60r7/+mhYtWlCvXu3YD6ysnUt7dO8xaz0HLEmqcS1btgxdQnC146uHJElpxgCW\nJCkAD0FLUi2WnZ1dYWQpVY/s7Ox9fo0BLEm12OrVq0OXoEp4CFqSpAAMYEmSAjCAJUkKwACWJCkA\nA1iSpAAMYEmSAjCAJUkKIC2vA87MiAb0TyWZGaErkCSlk7QM4O0lUEhqTfOTX5Ji3wgkSSktLQNY\niUnFIwXg0QJJAgO4VkvFIwXg0QJJAjthSZIUhAEsSVIABrAkSQEYwJIkBWAAS5IUQDK9oOsBE4Aj\ngR3A5cBK4AHgwNL7g4FvqqZESZJqn2T2gHsDTYHvATcDvwOuAZ4DTgHmAUOqqkBJkmqjZAJ4C9AE\niAFZpY97AVNLn58K9KyS6iSllOzsLGKxWErdsrOzQjeLlJRkDkHPAm4CFgItgH7ARKC49PmNwEFV\nUp2klFJcvJ7CFBvbJT9/fegSpKQkE8DXAK8B1wHtgULga6K94U1Ac2DVnl5YUFBQdj8vL4+8vLwk\nfrwkSampqKiIoqKihNZNJoAbAytK768mOhT9OnA68BDQB5ixpxeWD2BJkmqbXXcuR40aVem6yQTw\nGKJDzv2AhsD1wCvAg0S9n1eU/itJkiqRTAAXA/33sLzvftYiSVKd4UAckiQFYABLkhSAASxJUgAG\nsCRJARjAkiQFYABLkhSAASxJUgAGsCRJARjAkiQFYABLkhSAASxJUgAGsCRJARjAkiQFYABLkhSA\nASxJUgAGsCRJARjAkiQFYABLkhSAASxJUgAGsCRJARjAkiQFYABLkhSAASxJUgAGsCRJARjAkiQF\nYABLkhSAASxJUgCZoQuQlD4yMyA/P3QVFWVmhK5ASo4BLClh20ugkMLQZVSQX5Ji3wikBHkIWpKk\nAAxgSZICMIAlSQrAAJYkKQADWJKkAAxgSZICMIAlSQrAAJYkKQADWJKkAAxgSZICMIAlSQrAAJYk\nKQADWJK5gaOsAAAQSklEQVSkAJwNSZIUTHZWNsXri0OXUUHzps1Zs25Ntf8cA1iSFEzx+uLUm+Jy\nfc1McekhaEmSAjCAJUkKwEPQklQNsrOzKC5eH7qMCpo3b8qaNetCl6FSBrAkVYPi4vUUptapTfLz\nU+sLQV3nIWhJkgIwgCVJCsBD0BJ1+1pESWEYwBJ1+1pESWF4CFqSpAAMYEmSAjCAJUkKwACWJCkA\nA1iSpAAMYEmSAjCAJUkKwACWJCkAA1iSpAAMYEmSAjCAJUkKwACWJCkAA1iSpAAMYEmSAkg2gH8D\nzADmAZcBLYDngenAk0DjKqlOkqRaKpkA/i7wPaAX0BPIAa4BngNOIQrlIVVVoCRJtVEyAdwHWEgU\nuH8pvfUCppY+P5UomCVJUiUyk3hNG6ATcAbQAZhSury49N+NwEH7XZkkpbHMDMjPD11FRZkZoStQ\neckE8Cbgr8A24CNgA5BVetsENAdW7emFBQUFZffz8vLIy8tL4sdLUurbXgKFFIYuo4L8khT7RlAL\nFRUVUVRUlNC6yQTwP4DBwB1Aa6AJ0WHo04GHiA5Rz9jTC8sHsCRJtc2uO5ejRo2qdN1kAngScDzw\neunjK4D3gAeJgnlF6b+SJKkSyQRwnKjX86767mctkiTVGQ7EIUlSAAawJEkBGMCSJAVgAEuSFIAB\nLElSAAawJEkBGMCSJAVgAEuSFIABLElSAAawJEkBGMCSJAVgAEuSFIABLElSAAawJEkBGMCSJAVg\nAEuSFIABLElSAAawJEkBGMCSJAVgAEuSFIABLElSAAawJEkBGMCSJAVgAEuSFIABLElSAAawJEkB\nGMCSJAVgAEuSFIABLElSAAawJEkBGMCSJAVgAEuSFIABLElSAAawJEkBGMCSJAVgAEuSFIABLElS\nAAawJEkBGMCSJAVgAEuSFIABLElSAJmhC0hGJhnkkx+6jAoyyQhdgiQpjaRlAG+nhHjoInYRoyR0\nCZKkNOIhaEmSAjCAJUkKwACWJCmAtDwHLCkMO0BKVccAlpQwO0BKVcdD0JIkBeAecC2WQWbKHS6E\nqC5Jquv8S1iLlbAdCgtDl7GbkvzU+1IgSTXNQ9CSJAVgAEuSFIABLElSAAawJEkBGMCSJAVgAEuS\nFIABLElSAAawJEkBGMCSJAVgAEuSFIABLElSAAawJEkBGMCSJAVgAEuSFIABLElSAAawJEkB7E8A\nNwY+AToDLYDngenAk6XPSZKkSuxPAN8MNANiwLXAc8ApwDxgyP6XJklS7ZVsAH+XaK93funjnsDU\n0vtTSx9LkqRKJBPAmcDvgN8Q7f0CHAQUl97fWPpYkiRVIjOJ11wDPAx8Xfo4BqwBsoBNQHNg1Z5e\nWFBQUHY/Ly+PvLy8JH68JEmpqaioiKKiooTWje19ld28CuwovX8M8CHwLjATeAgYSbQ3fNcur4vH\n4/EkftzuYrEYVfNOVScGVNX2VZVYLAaFhaHL2F1+fkq2VSGp1Vb5pGY7pVZFqfm7B36mElXb2ykW\ni0ElWZvMHvD3y92fDlxBtMf7IDAYWFH6ryRJqkQyAVzeKeXu993P95Ikqc5wIA5JkgLY3z1gqVbI\nIJN88kOXUUGGv55SreZvuASUsD3lOqyV5KfWFwJJVctD0JIkBWAAS5IUgAEsSVIABrAkSQEYwJIk\nBWAAS5IUgAEsSVIABrAkSQEYwJIkBZCWI2HVJ7l5FKtT/dAFSJLSSloG8DaAgsBF7GJbQegKJEnp\nxEPQkiQFYABLkhRAWh6ClhSG/S+kqmMAS0qY/S+kquMhaEmSAjCAJUkKwACWJCkAA1iSpAAMYEmS\nAjCAJUkKwACWJCkAA1iSpAAMYEmSAjCAJUkKwACWJCkAA1iSpAAMYEmSAjCAJUkKwACWJCkAA1iS\npAAMYEmSAjCAJUkKwACWJCkAA1iSpAAMYEmSAjCAJUkKwACWJCkAA1iSpAAMYEmSAjCAJUkKwACW\nJCkAA1iSpAAMYEmSAjCAJUkKwACWJCkAA1iSpAAMYEmSAjCAJUkKwACWJCkAA1iSpAAMYEmSAjCA\nJUkKwACWJCkAA1iSpAAMYEmSAjCAJUkKwACWJCkAA1iSpAAMYEmSAjCAJUkKwACWJCkAA1iSpACS\nCeBM4AFgBvAG0BdoATwPTAeeBBpXUX2SJNVKyQTwhcA6oBdwFvC/wDXAc8ApwDxgSFUVKElSbZRM\nAE8GRpTej5feegFTS5dNBXruf2mSJNVeyQTwRqI94KbAU8BvgYOA4nLPH1Ql1UmSVEtlJvm6dkR7\nwv8XeBgYCmQBm4DmwKo9vaigoKDsfl5eHnl5ecn99HpAwd5WqmF2Z5OkOq+oqIiioqKE1k0mgNsA\nLwNXEXW6ApgJnA48BPQh6qC1m/IBvF92QHTkO4XsiIWuQJIU2K47l6NGjap03WT2264DsokOPRcS\nhfBdwA9KH3cl2jOWJEmVSGYP+Jelt1313c9aJEmqM5I9B6x0kJEB+fmhq9hdRkboCiQpOAO4Nisp\nSbUz5QDESkpClyBJwRnAkhLnFQhSlTGAJSXOKxCkKuN3R0mSAjCAJUkKwACWJCkAA1iSpAAMYEmS\nArAXtASpOWiJA5ZItZoBLEFKDlrigCVS7WYA12L1gVS8QrJ+6AIkKQUYwLXYNki9UYuAbQWhK5Ck\n8OyEJUlSAAawJEkBGMCSJAVgAEuSFIABLElSAAawJEkBGMCSJAVgAEuSFIABLElSAAawJEkBGMCS\nJAVgAEuSFIABLElSAAawJEkBGMCSJAVgAEuSFIABLElSAAawJEkBZIYuQEoF9YFY6CJ2UT90AZKq\nlQEsAdsACgIXsYttBaErkFSdPAQtSVIABrAkSQEYwJIkBWAAS5IUgAEsSVIABrAkSQEYwJIkBWAA\nS5IUgAEsSVIABrAkSQEYwJIkBWAAS5IUgAEsSVIABrAkSQEYwJIkBeB8wLVZPVJujlvAr32ShAFc\nu+0AiIeuYnc7YqErkKTg3BeRJCkAA1iSpAA8BC1JCiaDDPLJD11GBRlk1MjPMYAlScGUUJJynUVL\nCkpq5OcYwBKkZo9xTxBJtZoBLEFq9hi3t7hUqxnAklQNMshMwXOb/slPJf5vSFI1KGE7FBaGLqOC\nkvzU+kJQ13mWSZKkAAxgSZICMIAlSQrAAJYkKQADWJKkAOwFLUnVITMDUq3XcWbNDLGoxBjAklQd\ntqfeEIvU0BCLSoyHoCVJCsAApih0AWmiKHQBaaIodAFppCh0AelhcegC0kiatVVVB/B1wKzSW7cq\nfu9qUhS6gDRRFLqANFEUuoA0UhS6gPSwJHQBaWRJ6AL2TVWeA/5P4Ezge8ChwGTgu1X4/pIk1RpV\nuQfcE/hb6f3PiML9wCp8f0mSao2qnO9sOLAWuKf08UzgR8CnpY/nAblV+PMkSUp184Fj9vREVR6C\nXgM0K/e4ObCq3OM9FiBJUl1UlYegZwK9S+/nANuADVX4/pIk1RpVuQe8ACgEZgAZwBVV+N6SJEmS\nJEmSpLRTl0bmPoDosPixRIfLt5cuvwJ4K1RRKep0oCPQaZdbR+BfAetKNX6mEnc00BDYDFwP5ANz\niPqK6Nv9GvhH6CJSTC+iK2wygGHA5UAr4J2QRe2rqrwMKdU9RRQe9Yh++c8EviY6b51iU5YEN5Vo\nYJXCPTw3uIZrSWV+phJTAHwfyCYaI+Btog6axwMXhisrJT0OxKn4t/kU4BVsq/J2/o6NJRpv4jmi\nTsANgKEB61IlXi13/3yiXtsN2XPI1HUZRO1zZOhCUpyfqcS8XvrvgcAn5ZYX1XwpKe/nRCMaX0n0\npSWPaK/u+wFrSkU7f8dm7LL81V1XTGV1aTKGTKJDFBANk/kk8ATRH0xVVEK0p3tA6EJSnJ+pxB1K\ntNe7cy+uGX6+9uQeouF8TyHaw3sdKCbNgqUGHApcAKwjuuwV4BD83UtZ+cBCoE25ZdcDW8OUo1pg\n52eqbbllfqZ2dzLROfHyfU5mAueGKSdt/IDoKEFandesIWcTndp4AfglkEU0FcNp4UpSMv4jdAEp\nqBPwF6LDhZ8RdXZ4tnS59s7PlKpCjGhEwf6hC0lxdakvk+qA6UCPXZZ9H89t7sovKomxnRJnWyXG\ndkozj5XeHt/l9ljIolJUZeebimqyiDTgF5XE2E6Js60SUyvaqSqHokx1U4DfEvUuLC8eoJZUNw94\nBHiRaIarpkTXBr8fsqgUlMHu12e+iofEdmU7Jc62SkytaKe6FMCPAd2AlsDTgWtJdb8kuqa1J3AQ\n0UxXk4muD9a/+UUlMbZT4myrxNSKdkqrbwtVJIZ7vfvqUuD/hS4iRe36RWUm0RcVP2MV2U6Js60S\nYzulsUtDF5BG0uq8SkB+phJjOyXOtkqM7ZRmDJXEFYUuIE34mUqM7ZQ42yoxadlOdWkkrF3VxcPv\nybokdAFpws9UYmynxNlWibGd0kyH0AWksD5EM7B0JBpr9TOi8yv/FbKoNNAhdAFpokPoAtJIh9AF\npIkOoQvQt7u19N/ORNOgLSUKlSOCVZS63iEaa/VFok4OAN9h94HP6zq/qCTGdkqcbZUY2ynN7DxH\nMIVobFqI5nH9e5hyUtrOgThe3GX5rJouJMX5RSUxtlPibKvE1Ip2qkvXAe/UCHit9P47QP2AtaSq\nOcDdwBvAw0RDvp0OfBiyqBS0juibN0TfvgHepW73rdgT2ylxtlViakU71aUT158T/Qe1AX5HNG7o\n1UR7w2cHrCsVxYim+jqTaKafTUSjztwFbA5YV6oZSzT92UqiUxk7v6hk4mUR5dlOibOtElMr2qku\nBTBEJ+qPB5YDbxMNTXk70Ugq0r7yi0pibKfE2VaJqRXtVNcCWIlp8C3POdetJFWBuhTAhkriPgOa\nAat3WR4HDq/5clKWn6nE2E6Js60SUyvaqS4FsKGSuFZEY6qeRjTGqvbMz1RibKfE2VaJsZ3STCui\n877ZoQtJE2cSBbAq52cqMbZT4myrxNSKdsoIXUAN2kjUE7oV8EngWtLBx9hOe+NnKjG2U+Jsq8TU\ninaqS4eglbjGwBD+PdXXKqIL3P8vUW9DSdJ+qksBbKgk7kmiCa+nEn3TbE409FtXYGDAulKNn6nE\n2E6Js60SUyvaqS4FsKGSuOnAKXtYXgjk13AtqczPVGJsp8TZVomxndLM9EqWp+U8ktXseeAyolHD\nGhGdZ/kx0Tja+jc/U4mxnRJnWyWmVrRTWo2buZ82sOdQ2RiyqBR1CdHwbpOJvmU+BxwNXBGwplTk\nZyoxtlPibKvE2E5ppgVwG/A6sAiYDYwB2ocsKkX1BT4FlgAXl1te2bfOusrPVGJsp8TZVomxndKM\noZK4N4g6NrQAXuHfg5un1eGdGuBnKjG2U+Jsq8TYTmnGUElc+Tk1mxJ9uzwF22pXfqYSYzslzrZK\nTK1op7o0H/AWoq7qAOcCfyf69qTdfQL8CRhBNO/m+cDLpPmoM9XAz1RibKfE2VaJsZ3SzANEoZJV\n+rgdsABYFqqgFJZJ1KGhSbllbYim+tK/PYCfqUQ8gO2UqAewrRLxALZTWjFUVNX8TCXGdkqcbZUY\n20mSJEmSJEmSJEmSJEmSJEmSatz/Bw/rIXplwAX+AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x114be72d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "full_dates.resample('m', how='sum').to_period('m').plot(kind='bar', stacked=True, figsize=(8, 8))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 时间事件日志\n",
    "\n",
    "感兴趣的同学可以参阅 https://github.com/kamidox/utils 。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
